/**
 * 
 *//*
package apace.commons.io;

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.util.Date;
import java.util.Iterator;
import java.util.zip.Adler32;
import java.util.zip.CRC32;
import java.util.zip.Checksum;

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.filefilter.DirectoryFileFilter;
import org.apache.commons.io.filefilter.FileFileFilter;
import org.apache.commons.io.filefilter.FileFilterUtils;
import org.apache.commons.io.filefilter.IOFileFilter;

*//**
 * @author liuzq
 *
 *//*
public class FileUtilsTest {

	public static void main(String[] args) throws Exception {
		
		File f = new File("d:" + File.separator + "11.txt");
		File f1 = new File("d:" + File.separator + "22.txt");
		
		// 将文件大小值换成易于阅读的值
		System.out.println(FileUtils.byteCountToDisplaySize(f.length())); // 1024 -> 1KB
		
		// 计算文件的校验和
		Checksum checksum1 = new CRC32();
		Checksum checksum2 = new Adler32();
		try {
			System.out.println(FileUtils.checksum(f, checksum1).getValue());
			System.out.println(FileUtils.checksumCRC32(f));
			
			System.out.println(FileUtils.checksum(f, checksum2).getValue());
		} catch (IOException e) {
			e.printStackTrace();
		}
		// 清除该文件夹下的所有文件和子文件夹
		FileUtils.cleanDirectory(new File("d:" + File.separator + "test"));
		
		// 比较文件是否相同
		if (FileUtils.contentEquals(f, f1)) {
			System.out.println("要比较的2个文件相同");
		} else {
			System.out.println("要比较的2个文件不同");
		}
		
		// 只复制特定格式的文件（如txt）
		IOFileFilter txtSuffixFilter = FileFilterUtils.suffixFileFilter(".txt");
		IOFileFilter txtFiles = FileFilterUtils.and(FileFileFilter.FILE, txtSuffixFilter);
		FileFilter filter = FileFilterUtils.or(DirectoryFileFilter.DIRECTORY, txtFiles);
		FileUtils.copyDirectory(new File("d:" + File.separator + "test1"), new File("f:" + File.separator + "test1"), filter, true);
		
		// 复制某个文件夹下面的文件或者子文件到另一个文件夹，创建日期是否保持一致 第二个参数对应的文件夹必须存在
		FileUtils.copyDirectory(new File("d:" + File.separator + "test0"), new File("f:" + File.separator + "test0"), true);
		
		// 复制文件
		FileUtils.copyFile(new File("d:" + File.separator + "11.txt"), new File("f:" + File.separator + "yyy.txt"));
		
		// 文件不存在新建 存在则修改创建时间为当前时间
		File lzq = new File("d:" + File.separator + "lzq.txt");
		if (lzq.exists()) {
			FileUtils.touch(lzq);
		} else {
			lzq.createNewFile();
		}
		FileUtils.write(lzq, "lzq!!!!", true);
		
		// 文件新旧比较（isFileNewer isFileOlder均支持与date、timeMillis、file比较）
		if (FileUtils.isFileNewer(lzq, new Date()) || FileUtils.isFileNewer(lzq, System.currentTimeMillis()) || FileUtils.isFileNewer(lzq, f1)) {
			System.out.println("该文件时新的");
		} else {
			System.out.println("该文件时旧的");
		}
		
		// 获取系统临时文件夹和用户文件夹信息
		System.out.println(" 系统临时目录路径：" + FileUtils.getTempDirectoryPath() + " 系统临时目录名称：" + FileUtils.getTempDirectory().getName() + " 用户临时目录路径：" 
		+ FileUtils.getUserDirectoryPath() + " 用户临时目录名称：" + FileUtils.getUserDirectory().getName());
		
		// 当虚拟机退出时删除文件
		FileUtils.forceDeleteOnExit(lzq);
		
		// 遍历文件夹下面的特定子文件下特定文件,最后一个参数为空则不处理子文件夹
		IOFileFilter txtSuffixFilter1 = FileFilterUtils.suffixFileFilter(".txt");
		IOFileFilter txtFiles1 = FileFilterUtils.and(FileFileFilter.FILE, txtSuffixFilter1);
		
		Iterator<File> it = FileUtils.iterateFiles(new File("f:"), txtFiles1, null); 
		while (it.hasNext()) {
			System.out.println(it.next().getName());
		}
		Iterator<File> it1 = FileUtils.iterateFiles(new File("f:"), txtFiles1, DirectoryFileFilter.INSTANCE); 
		while (it.hasNext()) {
			System.out.println(it1.next().getName());
		}
		
		 File dir = new File(".");
		 String[] files = dir.list( DirectoryFileFilter.INSTANCE );
		 for ( int i = 0; i < files.length; i++ ) {
		     System.out.println(files[i]);
		 }

	}

}
*/